/*
 * Tester.cuh
 *
 *  Created on: Oct 17, 2013
 *      Author: jaime
 */

#ifndef TESTER_CUH_
#define TESTER_CUH_

#include "../SATSolver/DataToDevice.cuh"
#include "TestConfigs.cuh"
#include <stdlib.h>

class Tester {
protected:
	char tester_name[MAX_TESTER_NAME];
	int number_of_errors;
	int number_of_tests;
public:
	__device__ Tester();
	__device__ virtual void test_all() = 0;
	__device__ void process_test(bool return_value, char* method_name);
	__device__ int get_number_of_errors();
	__device__ int get_number_of_tests();
	__device__ virtual ~Tester();
	__device__ void print_summary();
};

#endif /* TESTER_CUH_ */
